06363875dda48b3501eee0afd5e3de185c8e94d2,src/main/java/joshie/enchiridion/gui/book/buttons/actions/ActionPreviousPage.java,ActionPreviousPage,performAction,#,25

Before Change


            int number = EnchiridionAPI.book.getPage().getPageNumber() - 1;
            while (number >= 0) {
                for (IPage page : pages) {
                    if (page.getPageNumber() == number) {
                        EnchiridionAPI.book.jumpToPageIfExists(number);
                        return; //Cancel further operations
                    }

After Change


    public boolean performAction() {
        try {
            List<IPage> pages = EnchiridionAPI.book.getBook().getPages();
            List<Integer> numbersTemp = new ArrayList<Integer>();
            for (IPage page: pages) {
                numbersTemp.add(page.getPageNumber());
            }

            Collections.sort(numbersTemp, new SortNumerical());
            List<Integer> numbers = Lists.reverse(numbersTemp);

            int number = EnchiridionAPI.book.getPage().getPageNumber();
            for (Integer integer: numbers) {
                if (integer < number) {
                    return EnchiridionAPI.book.jumpToPageIfExists(integer);
                }
            }

            return EnchiridionAPI.book.jumpToPageIfExists(numbers.get(0));
        } catch (Exception e) {}
        return false;
    }